{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 结构力学例题\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "l=5\n",
    "q=20\n",
    "x=np.linspace(0,l,50)\n",
    "M=q/2*(l*x-x**2)\n",
    "V=q*(l/2-x)\n",
    "print(M)\n",
    "print(V)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,4))\n",
    "plt.plot([0]*len(x),color=\"k\")\n",
    "plt.plot(-M)\n",
    "plt.ylim(top=(q*1/2)+50)\n",
    "plt.plot(V)\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.optimize import fsolve,root,leastsq\n",
    "l=5\n",
    "q=20\n",
    "x=np.linspace(0,10,500)\n",
    "y1=-x*x+16*x\n",
    "y2=x*x-8*x+12\n",
    "def poly(x):\n",
    "    err=x*x-8*x+12\n",
    "    return err   \n",
    "func=lambda x : x*x-8*x+12\n",
    "result=fsolve(func,[0,10])\n",
    "result1=root(poly,[0,10],method='hybr')\n",
    "result2=leastsq(poly,[0,10])\n",
    "\n",
    "  \n",
    "print(result,poly(result[0]))\n",
    "print(result1,poly(result1[\"x\"][0]))\n",
    "print(result2[0][0],result2[0][1])\n",
    "  \n",
    "#plt.plot(y1)\n",
    "plt.plot(x,y2)\n",
    "plt.plot(x,0*x)\n",
    "xy=(result1[\"x\"][0],poly(result1[\"x\"][0]))\n",
    "plt.annotate('Root1',xy,xytext=(3,6),\n",
    "             arrowprops=dict(facecolor='red',shrink=0.05))\n",
    "xy=(result1[\"x\"][1],poly(result1[\"x\"][1]))\n",
    "plt.annotate('Root2',xy,xytext=(5,6),\n",
    "             arrowprops=dict(facecolor='red',shrink=0.05))\n",
    "plt.show"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.linspace(-10, 10, 100)\n",
    "sig = 1 / (1 + np.exp(-t))\n",
    "\n",
    "plt.axhline(y=0, color=\"black\", linestyle=\"--\")\n",
    "plt.axhline(y=0.5, color=\"black\", linestyle=\":\")\n",
    "plt.axhline(y=1.0, color=\"black\", linestyle=\"--\")\n",
    "plt.axvline(color=\"grey\")\n",
    "plt.axline((0, 0.5), slope=0.25, color=\"black\", linestyle=(0, (5, 5)))\n",
    "plt.plot(t, sig, linewidth=2, label=r\"$\\sigma(t) = \\frac{1}{1 + e^{-t}}$\")\n",
    "plt.xlim(-10, 10)\n",
    "plt.xlabel(\"t\")\n",
    "plt.legend(fontsize=14)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "b77746e9332ffa618d6f1b0c30b3b999bda6b9685dc073ddc506779c9ceef622"
  },
  "kernelspec": {
   "display_name": "Python 3.9.7 64-bit",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
